package com.xja.manager.vo;

import com.xja.manager.base.BaseVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 护理项目视图对象
 * 用于展示护理项目的详细信息，通常用于前端展示时的数据传输对象。
 */
@Data
@ApiModel(value = "护理项目视图对象", description = "护理项目的视图数据实体，用于展示护理项目信息，包含项目的名称、价格等详细信息")
public class NursingProjectVo extends BaseVo {

    /**
     * 名称
     * 护理项目的名称，例如“血糖检测”或“注射服务”。
     */
    @ApiModelProperty(value = "护理项目名称", example = "血糖检测")
    private String name;

    /**
     * 排序号
     * 用于指定护理项目在列表中的显示顺序，数值越小，排序越靠前。
     */
    @ApiModelProperty(value = "排序号", example = "1")
    private Integer orderNo;

    /**
     * 单位
     * 护理项目的单位，例如“次”、“小时”等。
     */
    @ApiModelProperty(value = "护理项目单位", example = "次")
    private String unit;

    /**
     * 价格
     * 护理项目的价格，使用 BigDecimal 类型存储以确保价格的精确度。
     */
    @ApiModelProperty(value = "护理项目价格", example = "99.99")
    private BigDecimal price;

    /**
     * 图片
     * 用于展示护理项目的相关图片，可以是图片的URL地址。
     */
    @ApiModelProperty(value = "护理项目图片URL", example = "http://example.com/image.jpg")
    private String image;

    /**
     * 护理要求
     * 描述护理项目的具体要求或注意事项，帮助护理人员了解操作规范。
     */
    @ApiModelProperty(value = "护理项目的护理要求", example = "需要在专业护理人员指导下操作")
    private String nursingRequirement;

    /**
     * 状态
     * 表示护理项目的启用状态，0 表示禁用，1 表示启用。
     */
    @ApiModelProperty(value = "护理项目的状态（0：禁用，1：启用）", example = "1")
    private Integer status;

    /**
     * 护理项目绑定到计划的个数
     * 用于展示该护理项目在不同计划中被使用的次数。
     */
    @ApiModelProperty(value = "护理项目绑定到计划的个数", example = "5")
    private Integer count;
}